#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int ba[100005],c[100005],d[100005][17],x[4],ans[1000005];
pair<int,int> a[100005];
int main(){
    freopen("arena.in","r",stdin);
    freopen("arena.out","w",stdout);
    ios::sync_with_stdio(false);cin.tie(0);
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>ba[i];
    for(int i=1;i<=m;i++)cin>>c[i];
    int tmp=__lg(n-1)+1;
    for(int i=1;i<=tmp;i++)
        for(int j=1;j<=1<<tmp-i;j++){char s;cin>>s;

            d[i][j]=s-'0';}
    int t;
    cin>>t;
    while(t--){
        cin>>x[0]>>x[1]>>x[2]>>x[3];
        for(int i=1;i<=n;i++)
            a[i]={ba[i]^x[i%4],i};
        for(int i=1;i<=tmp;i++){
            ans[i]=a[1].second;
            for(int j=1;j<=1<<tmp-i;j++)
                if(d[i][j]?a[j*2-1].first>=i:a[j*2].first<i)a[i]=a[j*2-1];
                else a[i]=a[i*2];
        }
        long long w=0;
        for(int i=1;i<=m;i++)w^=(long long)ans[i]*i;
        cout<<w<<endl;
    }
}
